﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Collections;

public partial class dangtin : System.Web.UI.Page
{
    private ConnectionData cn = new ConnectionData();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["taikhoan"] == null)
            Response.Redirect("~/Dangnhap.aspx");

        if (!this.IsPostBack)
        {           
            LayDanhSachThanhPho();
            LayDanhSachLoaiDiaOc();
            LayDanhSachDacDiem();
            LayDanhSachLoaiTinRao();
        }

    }
    protected void btndangtin_Click(object sender, EventArgs e)
    {
        //loại tin rao
        int LoaiTinID = 0;
        if(rdloaitinrao.SelectedValue != "")
            LoaiTinID = Convert.ToInt32(rdloaitinrao.SelectedValue);
        //loại địa ốc
        int LoaiDiaOcID = 0;
        if(cbxLoaiDiaOc.SelectedValue != "")
            LoaiDiaOcID = Convert.ToInt32(cbxLoaiDiaOc.SelectedValue);
        //đặc điểm
        int DacDiemID=0;
        if(cbxquan_huyen.SelectedValue != "")
            DacDiemID = Convert.ToInt32(cbxdacdiem.SelectedValue);
        //tinh- tp
        int TinhTPID = Convert.ToInt32(cbxthanhpho.SelectedValue);
        //quận huyện
        int QuanHuyenID = 0;
        if(cbxquan_huyen.Items.Count>0)
            QuanHuyenID = Convert.ToInt32(cbxquan_huyen.SelectedValue);
        //phường xã
        int PhuongXaID = 0;
        if(cbxphuongxa.Items.Count > 0)
            PhuongXaID = Convert.ToInt32(cbxphuongxa.SelectedValue);
        //số nhà, đường, giá, ...
        String SoNha = txtSoNha.Text;
        String Duong = txtTenDuong.Text;
        String Gia = txtGia.Text;
        String ThuongLuong = Convert.ToString(rdThuongLuong.SelectedValue);
        String DonVi = Convert.ToString(cbxDonVi.SelectedValue);
        String TongDT = txtDTSD.Text;
        String ChieuNgang = txtChieungang.Text;
        String ChieuDai = txtChieudai.Text;
        String DTKV = ChieuNgang + " x " + ChieuDai;
        String ChieuNgangXD = txtChieungangxd.Text;
        String ChieuDaiXD = txtChieudaixd.Text;
        String DTSD = ChieuNgangXD + " x " + ChieuDaiXD;
        String TinhTrangPhapLy = cbxTinhtrangphaply.SelectedValue.ToString();
        //
        if (TinhTrangPhapLy == "0")
            TinhTrangPhapLy = "";
        String HuongTaiSan = cbxHuongtaisan.SelectedValue.ToString();
        if (HuongTaiSan == "0")
            HuongTaiSan = "";
        int SoLau = Convert.ToInt32(cbxLau.SelectedValue);
        int PhongNgu = Convert.ToInt32(cbxPhongngu.SelectedValue);
        if (PhongNgu == 0)
            PhongNgu = 1;
        int PhongTam = Convert.ToInt32(cbxPhongtam.SelectedValue);
        if (PhongTam == 0)
            PhongTam = 1;
        int PhongKhach = Convert.ToInt32(cbxPhongkhach.SelectedValue);
        if (PhongKhach == 0)
            PhongKhach = 1;
        int PhongKhac = Convert.ToInt32(cbxPhongkhac.SelectedValue);
        //thông tin tin đăng
        String TieuDe = txtTieuDe.Text;
        String MoTa = txtMoTaTaiSan.Text;
        String LienHe = txtLienHe.Text;
        //đặc điểm khác
        String DacDiemKhac = "";
        String GanTruong = "";
        if (chbGantruong.Checked == true)
        {
            GanTruong = chbGantruong.Text;
            DacDiemKhac = DacDiemKhac + "-" + GanTruong;
        }
        String GanCho = "";
        if (chbGancho.Checked == true)
        {
            GanCho = chbGancho.Text;
            DacDiemKhac = DacDiemKhac + "-" + GanCho;
        }
        String Internet = "";
        if (chbInternet.Checked == true)
        {
            Internet = chbInternet.Text;
            DacDiemKhac = DacDiemKhac + "-" + Internet;
        }
        String TruyenHinh = "";
        if (chbTruyenhinhcap.Checked == true)
        {
            TruyenHinh = chbTruyenhinhcap.Text;
            DacDiemKhac = DacDiemKhac + "-" + TruyenHinh;
        }
        String BaiGiuXe = "";
        if (chbBaigiuxe.Checked == true)
        {
            BaiGiuXe = chbBaigiuxe.Text;
            DacDiemKhac = DacDiemKhac + "-" +BaiGiuXe;
        }
        String SanVuon = "";
        if (chbSanvuon.Checked == true)
        {
            SanVuon = chbSanvuon.Text;
            DacDiemKhac = DacDiemKhac + "-" +SanVuon;
        }
        //ngày đăng tin - ngày hết hạn
        String NgayBatDau = DateTime.Now.Date.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year;
        int Ngay = DateTime.Now.Date.Day;
        int Thang = DateTime.Now.Month;
        int Nam = DateTime.Now.Year;
        NgayThang n = new NgayThang();
        String NgayHetHan = n.NgayKetThuc(Ngay, Thang, Nam, 30);
        //đăng tin tài sản
        //lấy id của khách hàng đăng tin
        String sql = "select Id from Khach_Hang where tai_khoan = '"+ Session["taikhoan"] +"'";
        SqlCommand cmd = cn.ExecuteQueryReader(sql);
        SqlDataReader rd1 = cmd.ExecuteReader();
        int ID = 0;
        while (rd1.Read())
        {
            ID = Convert.ToInt32(rd1[0]);
            
            break;
            
        }
        rd1.Close();
        cn.Disconnect();
        //thêm địa chỉ của địa ốc được đăng
        sql = "insert into Dia_Chi(So_Nha, Duong_Pho, TP_ID, Quan_ID, Phuong_Id) values('"+ SoNha +"', N'"+ Duong +"', "+TinhTPID+", "+ QuanHuyenID +", "+ PhuongXaID +")";
        cn.ExecuteSQL(sql);
        //lấy id của địa chỉ vừa đăng
        sql = "select Max(Id) from Dia_Chi";
        cmd = cn.ExecuteQueryReader(sql);
        SqlDataReader rd2 = cmd.ExecuteReader();
        int DC_ID = 0;
        while (rd2.Read())
        {
            DC_ID = Convert.ToInt32(rd2[0]);
            
            break;

        }
        rd2.Close();
        //Thêm địa ốc mới
        String HinhAnh = LayDuongDanAnh();
        sql = "insert into Dia_Oc(Loai_Dia_Oc_Id, Dia_Chi_Id, Hinh_Anh, So_Lau, So_Phong_Khach,So_Phong_Ngu, So_Phong_Tam, So_Phong_Khac , DTKV, DTSD, Phap_Ly, Dac_Diem, So_Lan_Xem, Lien_He, Huong, Gia, Tong_Dien_Tich) ";
        sql += "values(" + LoaiDiaOcID + "," + DC_ID + ", '" + HinhAnh + "', " + SoLau + ", " + PhongKhach + ", " + PhongNgu + ", " + PhongTam + ", " + PhongKhac + ", '" + DTKV + "', '" + DTSD + "', N'" + TinhTrangPhapLy + "', N'" + DacDiemKhac + "', 0, N'" + LienHe + "', N'" + HuongTaiSan + "'," + Gia + ", " + TongDT + ")";
        cn.ExecuteSQL(sql);
        cn.Disconnect();
        //lấy mã địa ốc vừa đăng
        sql = "select Max(Id) from Dia_Oc ";
        cmd = cn.ExecuteQueryReader(sql);
        SqlDataReader rd3 = cmd.ExecuteReader();
        int DO_ID = 0;
        while (rd3.Read())
        {
            DO_ID = Convert.ToInt32(rd3[0]);
            
            break;
        }
        rd3.Close();
        cn.Disconnect();
        //Đăng tin
        sql = "insert into Dang_tin(Khach_Hang_ID, Ngay_Bat_Dau, Ngay_Ket_Thuc, Tieu_De, Dia_Oc_ID, Loai_Tin_ID, Thuong_Luong, Mo_Ta) values("+ ID +", '" + NgayBatDau + "','" + NgayHetHan + "', N'" + TieuDe + "', " + DO_ID + ", "+LoaiTinID+", N'"+ThuongLuong+"', N'" + MoTa +  "')";
        if (cn.ExecuteSQL(sql) == 1)
        {
            if(rdloaitinrao.SelectedItem.Text == "Cho Mua")
                Response.Redirect("~/Diaocmua/");
            if (rdloaitinrao.SelectedItem.Text == "Cần Bán")
                Response.Redirect("~/Diaocban/");
            if (rdloaitinrao.SelectedItem.Text == "Cần Thuê" || rdloaitinrao.SelectedItem.Text == "Cho Thuê")
                Response.Redirect("~/Diaocthue/");
        }
         
    }

       
    protected void btnlamlai_Click(object sender, EventArgs e)
    {

    }

    //upload anh
    protected String  LayDuongDanAnh()
    {
        
        if (fileUpload.HasFile == false || fileUpload.FileContent.Length > 100000)
        {
            lblLoi.Text = "Kích thước files quá lớn.";
            return "";
        }
        try 
        { 
             string path = Server.MapPath("~/HinhDiaOc/" + fileUpload.FileName); 
             fileUpload.SaveAs(path);
             return fileUpload.FileName;

        }
        catch(Exception ex)
        {
            lblLoi.Text = "Chưa chọn hình hoặc kích thước file quá lớn";
            return "";
        }


    }
    //khoi tao cbx
    void KhoiTao()
    {
        rdloaitinrao.Enabled = false;
        cbxLoaiDiaOc.Enabled = false;
        cbxdacdiem.Enabled = false;
        cbxthanhpho.Enabled = false;
        cbxquan_huyen.Enabled = false;
        cbxphuongxa.Enabled = false;
        rdloaitinrao.Enabled = false;
    }
    //lay danh muc loai tin rao
    protected void LayDanhSachLoaiTinRao()
    {
        try
        {
            
            String sql = "select * from loai_tin";
            DataSet ds = new DataSet();
            rdloaitinrao.DataTextField = "Ten_Loai_tin";
            rdloaitinrao.DataValueField = "Id";
            rdloaitinrao.DataSource = cn.ExecuteQuery(sql).Tables[0];
            rdloaitinrao.DataBind();
            rdloaitinrao.SelectedValue = "1";
            
            
        }
        catch (Exception ex)
        {
            cn.Disconnect();
            rdloaitinrao.Enabled = false;
        }
    }
    //lay danh sach cac thanh pho
    protected void LayDanhSachThanhPho()
    {
        try
        {
            String sql = "select * from Thanh_Pho";
            DataSet ds = new DataSet();
            cbxthanhpho.DataTextField = "Ten_TP";
            cbxthanhpho.DataValueField = "Id";
            cbxthanhpho.DataSource = cn.ExecuteQuery(sql).Tables[0];
            cbxthanhpho.SelectedValue = "1";
            cbxthanhpho.DataBind();            
        }
        catch(Exception ex)
        {
            cn.Disconnect();
            
        }
    }

    // lay danh sách loai dia oc
    protected void LayDanhSachLoaiDiaOc()
    {
        try
        {
            String sql = "select * from loai_dia_oc";
            
            cbxLoaiDiaOc.DataTextField = "Ten_Loai_Dia_Oc";
            cbxLoaiDiaOc.DataValueField = "Id";
            cbxLoaiDiaOc.DataSource = cn.ExecuteQuery(sql).Tables[0];
            cbxLoaiDiaOc.SelectedValue = "1";
            cbxLoaiDiaOc.DataBind();
            
        }
        catch (Exception ex)
        {
            cn.Disconnect();
        }
    }

    // lay danh sách Đặc điểm
    protected void LayDanhSachDacDiem()
    {
        try
        {
            String sql = "select * from dia_diem";

            cbxdacdiem.DataTextField = "Ten_dia_diem";
            cbxdacdiem.DataValueField = "Id";
            cbxdacdiem.DataSource = cn.ExecuteQuery(sql).Tables[0];
            //cbxthanhpho.DataSourceID = "Id";
            cbxdacdiem.SelectedValue = "1";
            cbxdacdiem.DataBind();
            
        }
        catch (Exception ex)
        {
            cn.Disconnect();
        }
    }
    protected void cbxthanhpho_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            int tpid = Convert.ToInt32(cbxthanhpho.SelectedValue);
            String sql = "select * from Quan_Huyen where tp_id = " + tpid;
            cbxquan_huyen.DataSource = cn.ExecuteQuery(sql).Tables[0];
            cbxquan_huyen.DataTextField = "quan_huyen";
            cbxquan_huyen.DataValueField = "Id";
            //cbxquan_huyen.SelectedValue = "1";
            cbxquan_huyen.DataBind();
        }
        catch (Exception ex)
        {
            
        }
        
    }
    protected void cbxquan_huyen_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            int pxid = Convert.ToInt32(cbxquan_huyen.SelectedValue);
            String sql = "select * from Phuong_Xa where quan_id = " + pxid;
            cbxphuongxa.DataSource = cn.ExecuteQuery(sql).Tables[0];
            cbxphuongxa.DataTextField = "phuong_xa";
            cbxphuongxa.DataValueField = "Id";
            cbxphuongxa.SelectedValue = "1";
            cbxphuongxa.DataBind();
        }
        catch (Exception ex)
        {
            cn.Disconnect();
        }
    }
    protected void btnUpload_Load(object sender, EventArgs e)
    {

    }
    protected void cbxthanhpho_Load(object sender, EventArgs e)
    {
        
    }
}